home *** CD-ROM | disk | FTP | other *** search
- BUG REPORTS
-
- Please read this file before sending in a bug report or patch.
-
- Also, PLEASE read the documentation first. 90% of the mail I get
- complaining about procps is due to the sender not having read the
- documentation!
-
-
- Where to send
- =============
- Send comments, bug reports, patches, etc., to albert@users.sf.net
-
-
- What to send
- ============
- It is much more useful to me if a program really crashes to recompile it
- with make "CFLAGS=-ggdb -O", run it with "gdb prog" and "run" and send
- me a stack trace ('bt' command). That said, any bug report is still
- better than none.
-
- strace and ltrace output are very helpful:
-
- strace -o output-file ps --blah
- bzip2 output-file
-
- I also like "ps --info" output, even if there isn't a ps problem.
-
- Kernel-Dependent Patches
- ========================
- If you send me patches which are specific to *running* with a particular
- kernel version of /proc, please condition them with the runtime determined
- variable 'linux_version_code' from libproc/version.c. It is the same
- number as the macro LINUX_VERSION_CODE for which the kernel /proc fs
- code was compiled.
-
- A macro is provide in libproc/version.h to construct the code from its
- components, e.g.
- if (linux_version_code < LINUX_VERSION(2,5,41))
- /* blah blah blah */
- A startup call to set_linux_version may also be necessary.
-
- Of course, if a bug is due to a change in kernel file formats, it would
- be best to first try to generalize the parsing, since the code is then
- more resilient against future change.
-
- Also unified diffs (diff -u) are my preference, context diffs (diff -c )
- are kind of usable, and standard diffs (diff) are more useless than a
- generic text description of what you did. Just use
- diff -Naurd oldfile newfile
- or
- diff -Naurd old-procps-dir new-procps-dir
- to create your diffs and you will make me happy. Also make sure to
- include a description of what the diff is for or I'm likely to ignore
- it because of general lack of time...
-
- It might be nice to get rid of miscellaneous compiler warnings, but
- don't bend over backwards to do it.
-
-
- Code Structure
- ==============
-
- A goal is to encapsulate *all* parsing dependent on /proc
- file formats into the libproc library. If the API is general enough
- it can hopefully stabilize and then /proc changes might only require
- updating libproc.so. Beyond that having the set of utilities be simple
- command lines parsers and output formatters and encapsulating all kernel
- divergence in libproc is the way to go.
-
- Hence if you are submitting a new program or are fixing an old one, keep
- in mind that adding files to libproc which encapsulate such things is
- more desirable than patching the actual driver program. (well, except
- to move it toward the API of the library).
-